package com.push.web.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.push.common.annotation.Excel;
import com.push.common.core.domain.BaseEntity;

/**
 * 数据源管理对象 biz_source
 *
 * @author yanxi
 * @date 2022-03-08
 */
public class BizSource extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 索引ID */
    private Long sourceId;

    /** 所属国家 */
    @Excel(name = "所属国家")
    private String country;

    /** 数据源名称 */
    @Excel(name = "数据源名称")
    private String webTitle;

    /** 栏目名称 */
    @Excel(name = "栏目名称")
    private String columnTitle;

    /** 研究领域 */
    @Excel(name = "研究领域")
    private String resarchArea;

    /** 初始化URL */
    @Excel(name = "初始化URL")
    private String spiderUrl;

    /** 页码正则 */
    @Excel(name = "页码正则")
    private String pageXpath;

    /** 页码正则 */
    @Excel(name = "页码区域正则")
    private String pageDivXpath;

    /** 默认的字符编码 */
    @Excel(name = "默认的字符编码")
    private String charset;

    /** 列表正则 */
    @Excel(name = "列表正则")
    private String listXpath;

    /** 详情正则 */
    @Excel(name = "详情正则")
    private String detailsXpath;

    /** avator */
    @Excel(name = "avator正则")
    private String avatorXpath;

    /** 标题正则 */
    @Excel(name = "标题正则")
    private String titleXpath;

    /** 发布机构正则 */
    @Excel(name = "发布机构正则")
    private String publisherXpath;

    /** 摘要正则 */
    @Excel(name = "摘要正则")
    private String summaryXpath;

    /** 发布时间正则 */
    @Excel(name = "发布时间正则")
    private String publishTimeXpath;

    /** 全文正则 */
    @Excel(name = "全文正则")
    private String contentsXpath;

    /** 标签正则 */
    @Excel(name = "标签正则")
    private String labelXpath;

    /** 附件正则 */
    @Excel(name = "附件正则")
    private String filesXpath;

    /** 状态 */
    @Excel(name = "状态")
    private String status;

    /** 采集时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "采集时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdate;

    /** LabelId */
    private String labelIds;

    private List<BizLabelFirst> labels;

    /** 数据源类型 */
    @Excel(name = "数据源类型")
    private String dataType;

    /** 租户ID */
    private String tenantId;

    private String picDownload;

    /** 数据源类型 */
    @Excel(name = "数据源格式")
    private String sourceType;

    private int intervalNum;

    /** 信息类型 */
    @Excel(name = "信息类型")
    private String infoType;

    public void setSourceId(Long sourceId)
    {
        this.sourceId = sourceId;
    }

    public Long getSourceId()
    {
        return sourceId;
    }
    public void setCountry(String country)
    {
        this.country = country;
    }

    public String getCountry()
    {
        return country;
    }
    public void setWebTitle(String webTitle)
    {
        this.webTitle = webTitle;
    }

    public String getWebTitle()
    {
        return webTitle;
    }
    public void setColumnTitle(String columnTitle)
    {
        this.columnTitle = columnTitle;
    }

    public String getColumnTitle()
    {
        return columnTitle;
    }
    public void setResarchArea(String resarchArea)
    {
        this.resarchArea = resarchArea;
    }

    public String getResarchArea()
    {
        return resarchArea;
    }
    public void setSpiderUrl(String spiderUrl)
    {
        this.spiderUrl = spiderUrl;
    }

    public String getSpiderUrl()
    {
        return spiderUrl;
    }
    public void setPageXpath(String pageXpath)
    {
        this.pageXpath = pageXpath;
    }

    public String getPageXpath()
    {
        return pageXpath;
    }

    public String getPageDivXpath() {
        return pageDivXpath;
    }

    public void setPageDivXpath(String pageDivXpath) {
        this.pageDivXpath = pageDivXpath;
    }

    public void setCharset(String charset)
    {
        this.charset = charset;
    }

    public String getCharset()
    {
        return charset;
    }
    public void setListXpath(String listXpath)
    {
        this.listXpath = listXpath;
    }

    public String getListXpath()
    {
        return listXpath;
    }
    public void setDetailsXpath(String detailsXpath)
    {
        this.detailsXpath = detailsXpath;
    }

    public String getDetailsXpath()
    {
        return detailsXpath;
    }
    public void setAvatorXpath(String avatorXpath)
    {
        this.avatorXpath = avatorXpath;
    }

    public String getAvatorXpath()
    {
        return avatorXpath;
    }
    public void setTitleXpath(String titleXpath)
    {
        this.titleXpath = titleXpath;
    }

    public String getTitleXpath()
    {
        return titleXpath;
    }
    public void setPublisherXpath(String publisherXpath)
    {
        this.publisherXpath = publisherXpath;
    }

    public String getPublisherXpath()
    {
        return publisherXpath;
    }
    public void setSummaryXpath(String summaryXpath)
    {
        this.summaryXpath = summaryXpath;
    }

    public String getSummaryXpath()
    {
        return summaryXpath;
    }
    public void setPublishTimeXpath(String publishTimeXpath)
    {
        this.publishTimeXpath = publishTimeXpath;
    }

    public String getPublishTimeXpath()
    {
        return publishTimeXpath;
    }
    public void setContentsXpath(String contentsXpath)
    {
        this.contentsXpath = contentsXpath;
    }

    public String getContentsXpath()
    {
        return contentsXpath;
    }
    public void setLabelXpath(String labelXpath)
    {
        this.labelXpath = labelXpath;
    }

    public String getLabelXpath()
    {
        return labelXpath;
    }
    public void setFilesXpath(String filesXpath)
    {
        this.filesXpath = filesXpath;
    }

    public String getFilesXpath()
    {
        return filesXpath;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setLastUpdate(Date lastUpdate)
    {
        this.lastUpdate = lastUpdate;
    }

    public Date getLastUpdate()
    {
        return lastUpdate;
    }
    public void setTenantId(String tenantId)
    {
        this.tenantId = tenantId;
    }

    public String getTenantId()
    {
        return tenantId;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public String getLabelIds() {
        return labelIds;
    }

    public void setLabelIds(String labelIds) {
        this.labelIds = labelIds;
    }

    public List<BizLabelFirst> getLabels() {
        return labels;
    }

    public void setLabels(List<BizLabelFirst> labels) {
        this.labels = labels;
    }

    public String getPicDownload() {
        return picDownload;
    }

    public void setPicDownload(String picDownload) {
        this.picDownload = picDownload;
    }

    public int getIntervalNum() {
        return intervalNum;
    }

    public void setIntervalNum(int intervalNum) {
        this.intervalNum = intervalNum;
    }

    public String getSourceType() {
        return sourceType;
    }

    public void setSourceType(String sourceType) {
        this.sourceType = sourceType;
    }

    public String getInfoType() {
        return infoType;
    }

    public void setInfoType(String infoType) {
        this.infoType = infoType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("sourceId", getSourceId())
            .append("country", getCountry())
            .append("webTitle", getWebTitle())
            .append("columnTitle", getColumnTitle())
            .append("resarchArea", getResarchArea())
            .append("spiderUrl", getSpiderUrl())
            .append("pageXpath", getPageXpath())
            .append("charset", getCharset())
            .append("listXpath", getListXpath())
            .append("detailsXpath", getDetailsXpath())
            .append("avatorXpath", getAvatorXpath())
            .append("titleXpath", getTitleXpath())
            .append("publisherXpath", getPublisherXpath())
            .append("summaryXpath", getSummaryXpath())
            .append("publishTimeXpath", getPublishTimeXpath())
            .append("contentsXpath", getContentsXpath())
            .append("labelXpath", getLabelXpath())
            .append("filesXpath", getFilesXpath())
            .append("status", getStatus())
            .append("lastUpdate", getLastUpdate())
            .append("tenantId", getTenantId())
            .toString();
    }
}
